package com.alibaba.excel.analysis;

import java.util.List;

import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.read.metadata.ReadSheet;

/**
 * Excel file analyser
 *
 * @author jipengfei
 */
// Excel文件分析器
public interface ExcelAnalyser {
    /**
     * parse the sheet
     *
     * @param readSheetList
     *            Which sheets you need to read.
     * @param readAll
     *            The <code>readSheetList</code> parameter is ignored, and all sheets are read.
     */
    // 解析工作表
    //
    // 参数：
    // readSheetList – 您需要阅读哪些表格。
    // readAll – 忽略readSheetList参数，并读取所有工作表。
    void analysis(List<ReadSheet> readSheetList, Boolean readAll);

    /**
     * Complete the entire read file.Release the cache and close stream
     */
    // 完成整个读取文件。释放缓存并关闭流
    void finish();

    /**
     * Acquisition excel executor
     *
     * @return Excel file Executor
     */
    // 采集excel执行器
    //
    // 回报：
    // Excel 文件执行器
    ExcelReadExecutor excelExecutor();

    /**
     * get the analysis context.
     *
     * @return analysis context
     */
    // 获取分析上下文。
    //
    // 回报：
    // 分析上下文
    AnalysisContext analysisContext();

}
